package com.frank.oj.service.admin.account;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.frank.oj.common.exception.StatusFailException;
import com.frank.oj.common.result.CommonResult;
import com.frank.oj.model.dto.AdminEditUserDTO;
import com.frank.oj.model.vo.UserRolesVO;

import java.util.List;
import java.util.Map;

/**
 * @author frank
 * @Date 2024/3/27
 */
public interface UserService {
    IPage<UserRolesVO> getUserList(Integer limit, Integer currentPage, Boolean onlyAdmin, String keyword);

    void editUser(AdminEditUserDTO adminEditUserDTO) throws StatusFailException;

    void deleteUser(Map<String, Object> params) throws StatusFailException;

    void insertBatchUser(List<List<String>> users) throws StatusFailException;

    Map<Object, Object> generateUser(Map<String, Object> params) throws StatusFailException;
}
